]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Fix activating windows from xdnd operations
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 9 Sep 2011 22:47:21 +0000 (00:47 +0200)
committerAdel Gadllah <adel.gadllah@gmail.com>
Wed, 14 Sep 2011 08:00:46 +0000 (10:00 +0200)
Commit e5bc3a2ba83 changed the hierarchy of WindowClone, which
broke activating windows on hover during xdnd operations. To
avoid intrusive changes, just hide the new actor from picks so
that DND operations pick the actor actually meant to represent
the corresponding window.

https://bugzilla.gnome.org/show_bug.cgi?id=658640

js/ui/workspace.js

index ae3a092d92afa71e162e8a4931ef7f345bc8a589..55e93f35ed3f4a9e4d2d93ed784771e26c99cb47 100644 (file)
@@ -102,6 +102,12 @@ WindowClone.prototype = {
         this._windowClone = new Clutter.Clone({ source: realWindow.get_texture(),
                                                 x: -borderX,
                                                 y: -borderY });
+        // We expect this.actor to be used for all interaction rather than
+        // this._windowClone; as the former is reactive and the latter
+        // is not, this just works for most cases. However, for DND all
+        // actors are picked, so DND operations would operate on the clone.
+        // To avoid this, we hide it from pick.
+        Shell.util_set_hidden_from_pick(this._windowClone, true);
 
         this.origX = realWindow.x + borderX;
         this.origY = realWindow.y + borderY;